首页> 外文OA文献 >Type-based cost analysis for lazy functional languages
【2h】

Type-based cost analysis for lazy functional languages

机译:惰性功能语言的基于类型的成本分析

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

We present a static analysis for determining the execution costs of lazily evaluated functional languages, such as Haskell. Time- and space-behaviour of lazy functional languages can be hard to predict, creating a significant barrier to their broader acceptance. This paper applies a type-based analysis employing and to statically determine upper bounds on evaluation costs. While amortisation performs well with finite recursive data, we significantly improve the precision of our analysis for co-recursive programs (i.e. dealing with potentially infinite data structures) by tracking self-references. Combining these two approaches gives the first automatic static analysis for both recursive and co-recursive definitions. Furthermore, we generalize the analysis to determine cost bounds for an arbitrary measure assigned to syntactic constructs (e.g. evaluation steps, applications, allocations, etc.). Notably, automatic inference only relies on first-order unification and linear programming solving. Our publicly available implementation demonstrates the practicability of our technique on editable non-trivial examples.
机译:我们提出了一种静态分析,用于确定延迟评估的功能语言(例如Haskell)的执行成本。惰性函数语言的时间和空间行为可能难以预测,这为它们被更广泛的接受创造了重大障碍。本文应用了基于类型的分析,该分析使用并静态确定了评估成本的上限。尽管分期付款在有限递归数据上表现良好,但通过跟踪自引用,我们显着提高了对共递归程序(即处理潜在无限数据结构)的分析精度。结合这两种方法,可以对递归定义和共递归定义进行首次自动静态分析。此外,我们对分析进行了概括,以确定分配给语法结构的任意量度(例如评估步骤,应用程序,分配等)的成本范围。值得注意的是,自动推理仅依赖于一阶统一和线性规划求解。我们可公开获得的实现方法证明了我们的技术在可编辑的非平凡示例中的实用性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号